The present invention relates to generally providing an interpretive computer language with access to objects written in a object-oriented language such as C++.
Interpretive language programs abound, examples of which are found in BASIC, dBASE, JAVA, and Tool Command Program languages. Among the advantages provided by interpretive languages is the ability to design, develop, and debug an application program in a short amount of time. This advantage flows from the fact that there is no need to compile source code, perform the necessary linking, and then execute the resultant object code for de-bugging. Without an interpretive language debug tool, errors that are found in the source code of an application program being subjected to debugging must then be corrected by modifying the source code. Once corrected, the source code must again be run through the procedures of compiling, linking, and debugging. This process is repeated until all errors are found and corrected. Interpretive languages, on the other hand do not require compiling and linking.
Interpretive languages employ a programming language translator to translate each program statement into machine language and then execute it. The translator then proceeds to the next statement, and the next, and so on, until the program is finished. It is this in seriatim statement by statement translation and execution that makes an interpreted language convenient to use and debug since each line of code can be tested interactively.
Some interpretive languages may also be compiled. This is advantageous because the program is first developed and debugged using the interpreter, and when fully debugged, it is then compiled for a final version.
Interpretive languages also find particular use in commanding or controlling remote devices where the interpreter may take up very little space at the remote location.
Even though interpretive languages provide a number of advantages, some of which are outlined above, they do have drawbacks. One drawback of most, if not all, interpretive languages is their inability to interact with a object-oriented language to provide the interpretive language features not normally included in the interpretive language. Accordingly, there is a need to provide an interpretive language with access to a object-oriented programming environment, and the capability to permit the interpretive language to interact and use aspects of the object-oriented programming environment such as objects created in the C++ language.